home *** CD-ROM | disk | FTP | other *** search
- #
- # The symbolic computation below is faster this way.
- #
- iritstate( "InterpProd", off );
-
- #############################################################################
- # Bound on normal curvature in isoparametric directions.
- #############################################################################
-
- cross = ctlpt( E3, 1.0, 0.0, 0.0 ) +
- ctlpt( E3, 1.0, 0.0, 1.0 );
- s = sregion( surfprev( cross ), COL, 0, 1.0 );
-
- view( list( s, axes ), on );
-
- UCrvtrZXY = scrvtr( s, P3, row );
- VCrvtrZXY = scrvtr( s, P3, col );
- UCrvtrXYZ = UCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- VCrvtrXYZ = VCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- color( UCrvtrXYZ, red );
- color( VCrvtrXYZ, magenta );
-
- view( list( UCrvtrXYZ, VCrvtrXYZ ), off );
- pause();
-
- #############################################################################
-
- cross = ctlpt( E3, 0.5, 0.0, 0.0 ) +
- ctlpt( E3, 0.5, 0.0, 1.0 );
- s = sregion( surfprev( cross ), COL, 0, 1.0 );
-
- view( list( s, axes ), on );
-
- UCrvtrZXY = scrvtr( s, E3, row );
- VCrvtrZXY = scrvtr( s, E3, col );
- UCrvtrXYZ = UCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- VCrvtrXYZ = VCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- color( UCrvtrXYZ, red );
- color( VCrvtrXYZ, magenta );
-
- view( list( UCrvtrXYZ, VCrvtrXYZ ), off );
- pause();
-
- #############################################################################
-
- cross = ctlpt( E3, 0.2, 0.0, 1.0 ) +
- ctlpt( E3, 1.0, 0.0, 1.0 ) +
- ctlpt( E3, 0.2, 0.0, 0.0 );
- Con = surfprev( cross );
-
- view( list( Con, axes ), on );
-
- viewstate("CrsrAprx");
- viewstate("CrsrAprx");
- viewstate("LessIso");
- viewstate("LessIso");
-
- UCrvtrZXY = scrvtr( Con, P3, row );
- VCrvtrZXY = scrvtr( Con, P3, col );
- UCrvtrXYZ = UCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- VCrvtrXYZ = VCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 0.1 ) );
- color( UCrvtrXYZ, red );
- color( VCrvtrXYZ, magenta );
-
- view( list( UCrvtrXYZ, VCrvtrXYZ ), off );
- pause();
-
- #############################################################################
-
- cross = cbspline( 3,
- list( ctlpt( E2, 0.0, 0.0 ),
- ctlpt( E2, 0.8, 0.0 ),
- ctlpt( E2, 0.8, 0.2 ),
- ctlpt( E2, 0.07, 1.4 ),
- ctlpt( E2, -0.07, 1.4 ),
- ctlpt( E2, -0.8, 0.2 ),
- ctlpt( E2, -0.8, 0.0 ),
- ctlpt( E2, 0.0, 0.0 ) ),
- list( KV_OPEN ) );
- cross = coerce( cross, e3 );
- s = sFromCrvs( list( cross,
- cross * trans( vector( 0.5, 0, 1 ) ),
- cross * trans( vector( 0, 0, 2 ) ) ), 3 );
- view( list( s, axes ), on );
-
- UCrvtrZXY = scrvtr( s, E3, row );
- VCrvtrZXY = scrvtr( s, E3, col );
- UCrvtrXYZ = UCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 10 ) );
- VCrvtrXYZ = VCrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 0.001 ) );
- color( UCrvtrXYZ, red );
- color( VCrvtrXYZ, magenta );
-
- view( list( UCrvtrXYZ, VCrvtrXYZ ), off );
- pause();
-
- #############################################################################
- # Total bound on normal curvature as k1^2 + k2^2
- #############################################################################
-
- cross = ctlpt( E3, 1.0, 0.0, 0.0 ) +
- ctlpt( E3, 1.0, 0.0, 1.0 );
- s = sregion( surfprev( cross ), COL, 0, 1.0 );
-
- view( list( s, axes ), on );
-
- CrvtrZXY = scrvtr( s, E3, off );
- CrvtrXYZ = CrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- color( CrvtrXYZ, green );
-
- view( CrvtrXYZ, off );
- pause();
-
- #############################################################################
-
- cross = ctlpt( E3, 0.5, 0.0, 0.0 ) +
- ctlpt( E3, 0.5, 0.0, 1.0 );
- s = sregion( surfprev( cross ), COL, 0, 1.0 );
-
- view( list( s, axes ), on );
-
- CrvtrZXY = scrvtr( s, E3, off );
- CrvtrXYZ = CrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 1 ) );
- color( CrvtrXYZ, green );
-
- view( CrvtrXYZ, off );
- pause();
-
- #############################################################################
-
- cross = ctlpt( E3, 0.2, 0.0, 1.0 ) +
- ctlpt( E3, 1.0, 0.0, 1.0 ) +
- ctlpt( E3, 0.2, 0.0, 0.0 );
- Con = surfprev( cross );
-
- view( list( Con, axes ), on );
-
- CrvtrZXY = scrvtr( Con, E3, off );
- CrvtrXYZ = CrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 0.1 ) );
- color( CrvtrXYZ, green );
-
- view( CrvtrXYZ, off );
- pause();
-
- #############################################################################
-
- cross = cbspline( 3,
- list( ctlpt( E2, 0.0, 0.0 ),
- ctlpt( E2, 0.8, 0.0 ),
- ctlpt( E2, 0.8, 0.2 ),
- ctlpt( E2, 0.07, 1.4 ),
- ctlpt( E2, -0.07, 1.4 ),
- ctlpt( E2, -0.8, 0.2 ),
- ctlpt( E2, -0.8, 0.0 ),
- ctlpt( E2, 0.0, 0.0 ) ),
- list( KV_OPEN ) );
- cross = coerce( cross, e3 );
- s = sFromCrvs( list( cross,
- cross * trans( vector( 0.5, 0, 1 ) ),
- cross * trans( vector( 0, 0, 2 ) ) ), 3 );
- view( list( s, axes ), on );
-
- CrvtrZXY = scrvtr( s, E3, off );
- CrvtrXYZ = CrvtrZXY * rotx( -90 ) * roty( -90 ) * scale( vector( 1, 1, 0.001 ) );
- color( CrvtrXYZ, green );
-
- view( CrvtrXYZ, off );
- pause();
-
- viewclear();
- viewstate("FinrAprx");
- viewstate("FinrAprx");
- viewstate("MoreIso");
- viewstate("MoreIso");
-